package com.project.mapper;

import com.github.pagehelper.PageInfo;
import com.project.bean.CommodityBean;
import org.apache.ibatis.annotations.Param;


import java.time.LocalDate;
import java.util.List;

public interface ICommodityMapper{
    /**
     * 添加商品
     * @param commodity
     * @return
     */
    public void add(CommodityBean commodity);

    /**
     * 按id删除商品
     * @param id
     */
    public void delById(Integer id);

    /**
     * 按id，修改价格
     * @param id 商品编号
     * @param money 商品金额
     */
    public void updById(@Param("id") Integer id, @Param("money") Double money);
    /**
     * 按id查询商品
     * @param id 商品id
     * @return Commodity对象
     */
    public CommodityBean findById(Integer id);

    /**
     * 动态条件分页查询
     * @param name 商品名
     * @param MaxMoney 最大金额
     * @param MinMoney 最小金额
     * @return List<CommodityBean> 商品对象 集合
     */
    public List<CommodityBean> cutByItem(@Param("name") String name,
                                             @Param("MaxMoney") Double MaxMoney,
                                             @Param("MinMoney") Double MinMoney);

    /**
     * 按厂家、生产日期时间段，动态条件分页查询商品
     * @param factory 厂家名
     * @param startTime 起始日期
     * @param endTime 结束日期
     * @return List<CommodityBean> 商品对象 集合
     */
    public List<CommodityBean> cutByFactory(@Param("factory") String factory,
                                                @Param("startTime") LocalDate startTime,
                                                @Param("endTime") LocalDate endTime);

    /**
     * 商品批量添加
     * @param list
     */
    public void addList (@Param("list") List<CommodityBean> list);

    /**
     * 商品批量删除
     * @param idArray
     */
    public void delMore (@Param("idArray") int[] idArray);
}
